The hint was being compared as a bitmask which means types that were not in
the list were being erroneously matched
{
parent = GDK_WINDOW_IMPL_WAYLAND (impl->transient_for->impl);
- if (impl->hint & GDK_WINDOW_TYPE_HINT_POPUP_MENU ||
- impl->hint & GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU ||
- impl->hint & GDK_WINDOW_TYPE_HINT_COMBO)
+ if (impl->hint == GDK_WINDOW_TYPE_HINT_POPUP_MENU ||
+ impl->hint == GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU ||
+ impl->hint == GDK_WINDOW_TYPE_HINT_COMBO)
{
struct wl_seat *grab_input_seat = NULL;